package com.luxsoft.siipap.em.replica.importadores.ventas;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.Map;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.lang.time.DateUtils;
import org.apache.log4j.Logger;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;

import com.luxsoft.siipap.em.replica.ReplicationUtils;
import com.luxsoft.siipap.em.replica.importadores.ImportadorSupport;
import com.luxsoft.siipap.em.replica.importadores.dbf.DBFReaderTemplate;
import com.luxsoft.siipap.em.replica.importadores.dbf.DBFRowHandler;
import com.luxsoft.siipap.inventarios.model.Inventario;
import com.luxsoft.siipap.inventarios.model.MovimientoDet;
import com.luxsoft.siipap.model.Periodo;
import com.luxsoft.siipap.model.Sucursal;
import com.luxsoft.siipap.model.core.Cliente;
import com.luxsoft.siipap.service.ServiceLocator2;
import com.luxsoft.siipap.util.DBUtils;
import com.luxsoft.siipap.util.DateUtil;
import com.luxsoft.siipap.ventas.model.Asociado;
import com.luxsoft.siipap.ventas.model.Vendedor;

/**
 * Pendiente (Mejora al que funciona con DBF's
 * 
 * @author Ruben Cancino
 *
 */
public class ImportadorDeSocios implements RowCallbackHandler{
	
	
	
	private Logger logger=Logger.getLogger(getClass());
	
	
	private  Sucursal sucursal;
	
	public ImportadorDeSocios(){		
	}
	
	private DataSource getDataSource(){
		BasicDataSource ds=new BasicDataSource();
		ds.setDriverClassName("sun.jdbc.odbc.JdbcOdbcDriver");
		ds.setUrl("jdbc:odbc:SIIPAP");
		return ds;
	}
	
	Cliente cliente;
	
	public void importar(){
		cliente=ServiceLocator2.getClienteManager().buscarPorClave("U050008");
		String sql="select * from U050008";
		JdbcTemplate template=new JdbcTemplate(getDataSource());
		template.query(sql, this);
	}
	
	
	public void processRow(ResultSet rs) throws SQLException {
		Asociado a=new Asociado();
		a.setCliente(cliente);
		String clave=rs.getString("SOCCLAVE");
		String nombre=rs.getString("SOCNOMBR");
		int vendedor=rs.getInt("SOCVENDE");
		
		String direccion=rs.getString("SOCLUGAR");
		Double socbacoco=rs.getDouble("SOCBACOCO");
		Double socbacove=rs.getDouble("SOCBACOVE");
		a.setCliente(cliente);
		a.setClave(clave);
		a.setNombre(nombre);
		a.setDireccion(direccion);
		a.setComisionCobrador(socbacoco);
		a.setComisionVendedor(socbacove);
		a.setVendedor(ImportadorSupport.getInstance().buscarVendedor(vendedor));
		try {
			ServiceLocator2.getUniversalDao().save(a);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	
	
	
	
	public static void main(String[] args) {
		DBUtils.whereWeAre();
		new ImportadorDeSocios().importar();
	}

	
}
